package conson.tech.manage.app.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * ClassName: AllConfigVo
 * Description: 所有配置vo
 * Author: HXL
 * Date: 2020/4/24 4:07 下午
 * Version: 1.0
 */
@Data
@ApiModel("AllConfigVo")
public class AllConfigVo implements Serializable {
    private static final long serialVersionUID = -3082970197996602849L;
    //0.首页 1 生活页
    @NotNull(message = "页面请求类型不能为空")
    @ApiModelProperty(value = "页面请求类型 0.首页 1 生活页",example = "页面请求类型 0.首页 1 生活页")
    private Integer requestPageType;
    @ApiModelProperty(value = "模块主键",example = "模块主键")
    private Long moduleId;
    @NotBlank(message = "模块名称不能为空")
    @ApiModelProperty(value = "模块名称",example = "模块名称")
    private String moduleName;
    @NotNull(message = "模块排序不能为空")
    @ApiModelProperty(value = "模块排序",example = "模块排序")
    private Integer moduleSort;
    @NotNull(message = "样式不能为空")
    @ApiModelProperty(value = "样式",example = "样式")
    private Integer contentType;
    @NotNull(message = "启用状态不能为空")
    @ApiModelProperty(value = "启用状态 1启用 0不启用",example = "启用状态 1启用 0不启用")
    private Integer open;
    @ApiModelProperty(value = "开始版本",example = "开始版本")
    private String startVersion;
    @ApiModelProperty(value = "结束版本",example = "结束版本")
    private String endVersion;

    /** 开始版本值 */
    @NotNull(message = "开始版本值不能为空")
    @ApiModelProperty(value = "开始版本值",example = "开始版本值")
    private Integer startVersionValue ;
    /** 结束版本值 */
    @NotNull(message = "结束版本值不能为空")
    @ApiModelProperty(value = "结束版本值",example = "结束版本值")
    private Integer endVersionValue ;

    @NotBlank(message = "第一层标题名称不能为空")
    @ApiModelProperty(value = "第一层标题名称",example = "第一层标题名称")
    private String oneTitleName;
    @NotNull(message = "显示标签不能为空")
    @ApiModelProperty(value = "显示标签",example = "显示标签")
    private Integer iconFlag;
    private List<AppTwoConfigVo> twoConfigVoList;
    private List<AppThreeConfigVo> threeConfigVoList;
}
